package com.x.compute.common.handle;

import com.x.compute.common.constant.VarTypeEnum;
import com.x.compute.common.entity.VarHandleResult;

import java.util.Map;

/**
 * @author xuxin
 * @time 2022/4/23 11:05
 */
public interface VarTypeHandle {

    /**
     * 变量类型
     * @return
     */
    VarTypeEnum type();

    /**
     * 转换公式
     * @param expression
     * @return
     */
    String formatExpression(String expression);

    /**
     * 变量表达式处理
     * @param fieldMap 变量map
     * @param expression 表达式
     * @return
     */
    VarHandleResult handle(Map<String, Object> fieldMap, String expression);
}
